Typically, the amount of resources (such as processing, memory, or input/output resources) that can be included in a computer is subject to various constraints. For computers that are marketed to consumers for personal use, a price-to-performance constraint determines the amount of resources that can be included in such computers. In other words, the price that can be charged for computers may limit the amount of resources that can be included.
Other constraints that can be placed on computer performance include physical constraints such as the overall size of an enclosure in which computing components are included. A smaller enclosure means that a reduced number of resources can be contained in such enclosure.
If a user of a computer decides to later enhance (or otherwise modify) the performance capability of a computer, the options available to the user are relatively limited. Examples of typical options that may be available to a user include adding additional memory (or replacing existing memory with larger capacity memory), replacing a central processing unit (CPU) with a higher performance CPU, or upgrading or adding input/output (I/O) devices.
However, such conventional techniques of modifying the capabilities of computers lack flexibility.